//package com.central.file.config;
//
//import com.aliyun.oss.common.auth.DefaultCredentialProvider;
//import com.central.file.model.FileInfo;
//import com.central.file.properties.FileServerProperties;
//import com.central.file.service.impl.AbstractIFileService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import com.aliyun.oss.OSSClient;
//import org.springframework.stereotype.Service;
//import org.springframework.web.multipart.MultipartFile;
//
///**
// * 阿里云配置
// *
// * @author 作者 owen E-mail: 624191343@qq.com
// */
//@Configuration
//@ConditionalOnProperty(name = "zlt.file-server.type", havingValue = "aliyun")
//public class AliyunOSSAutoConfigure {
//    @Autowired
//    private FileServerProperties fileProperties;
//
//    /**
//     * 阿里云文件存储client
//     * 只有配置了aliyun.oss.access-key才可以使用
//     */
//    @Bean
//    public OSSClient ossClient() {
//        OSSClient ossClient = new OSSClient(fileProperties.getOss().getEndpoint()
//                , new DefaultCredentialProvider(fileProperties.getOss().getAccessKey(), fileProperties.getOss().getAccessKeySecret())
//                , null);
//        return ossClient;
//    }
//
//    @Service
//    public class AliyunOssServiceImpl extends AbstractIFileService {
//        @Autowired
//        private OSSClient ossClient;
//
//        @Override
//        protected String fileType() {
//            return fileProperties.getType();
//        }
//
//        @Override
//        protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception {
//            ossClient.putObject(fileProperties.getOss().getBucketName(), fileInfo.getName(), file.getInputStream());
//            fileInfo.setUrl(fileProperties.getOss().getDomain() + "/" + fileInfo.getName());
//        }
//
//        @Override
//        protected boolean deleteFile(FileInfo fileInfo) {
//            ossClient.deleteObject(fileProperties.getOss().getBucketName(), fileInfo.getName());
//            return true;
//        }
//    }
//}
